package com.aiYouPms.common.service;

import com.aiYouPms.common.model.Role;

import java.util.List;

public interface RoleService {

    /**
     * 查询所有角色
     * @return 角色列表
     */
    List<Role> findAll();

    /**
     * 根据ID查询角色
     * @param id 角色ID
     * @return 角色信息
     */
    Role findById(Integer id);

    /**
     * 根据角色编码查询角色
     * @param roleCode 角色编码
     * @return 角色信息
     */
    Role findByRoleCode(String roleCode);

    /**
     * 创建角色
     * @param role 角色信息
     * @return 创建的角色
     */
    Role create(Role role);

    /**
     * 更新角色
     * @param id 角色ID
     * @param role 角色信息
     * @return 更新后的角色
     */
    Role update(Integer id, Role role);

    /**
     * 根据ID删除角色
     * @param id 角色ID
     */
    void deleteById(Integer id);


    /**
     * 根据角色名称查询角色
     * @param roleName 角色编码
     * @return 角色信息
     */
    public Role findByRoleName(String roleName);

    /**
     * 根据条件搜索
     * @return 角色列表
     */
    List<Role> search(Role role);

}